package com.elh.proxy;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;

public class HelloWordHandle implements InvocationHandler {
    // 所需要代理的具体实现类，为了方便理解，我这里变量直接叫helloWordImp
    private Object helloWordImp;

    //构造方法进行实现类赋值
    public HelloWordHandle(Object helloWordImp) {
        this.helloWordImp = helloWordImp;
    }

    //这里调用实现类的具体方法 method方法 args参数
    @Override
    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
        System.out.println("调用前可以进行相应操作");
        Object result = method.invoke(helloWordImp, args);
        System.out.println("调用后可以进行相应操作");
        return result;
    }
}